// pages/draw/draw.js
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: app.globalData.userInfo || wx.getStorageSync('userInfo'),
    accountMoney: '',
    money: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      accountMoney: options.accountMoney
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },
  
  // 数据
  bindKeyInput: function (e) {
    var reg = /(^[1-9](\d{1,3})?$)|(^[1-9](\d{1,3})?\.(\d{1,2})?$)|(^0\.?$)|(^0\.\d?\d?$)/
    console.info(e.detail.value, reg.test(e.detail.value))
    if(!reg.test(e.detail.value)) {
      this.setData({
        [e.target.dataset.name] : e.detail.value.slice(0, -1)
      })
      return
    }
    this.setData({
      [e.target.dataset.name]: e.detail.value
    })
  },

  // 全部提现
  drawAll() {
    this.setData({
      money: this.data.accountMoney
    })
  },

  // 支取
  draw() {
    if (this.data.money < 0.1) {
      wx.showModal({
        title: '温馨提示',
        content: '单次提现金额不能低于0.1元',
        showCancel: false
      })
      return
    }

    if (this.data.money > 500) {
      wx.showModal({
        title: '温馨提示',
        content: '单次提现金额不能超过500元',
        showCancel: false
      })
      return
    }
    
    if (Number(this.data.money) > Number(this.data.accountMoney)) {
      wx.showModal({
        title: '温馨提示',
        content: '单次提现金额不能超过可提现金额',
        showCancel: false
      })
      return
    }

    wx.showLoading({
      mask: true
    })
    let params = {
      userId: this.data.userInfo.id,
      withdrawalsMoney: this.data.money
    }
    wx.post('/api/account/withdrawal', params, res => {
      console.log('==== withdrawal ===', res)
      wx.setStorage({
        key: "drawresult",
        data: {...res, money: this.data.money},
        success() {
          wx.hideLoading()
          wx.redirectTo({
            url: '/pages/drawResult/drawResult',
          })
        }
      })
      
    }, fail => {})
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})